package com.nodecollege.cloud.dao.mapper;

import com.nodecollege.cloud.common.model.po.UpmsRole;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

/**
 * 版权：节点学院
 * <p>
 * UpmsRoleMapper
 *
 * @author LC
 * @date 2020-01-14 13:49:31
 */
@Mapper
@Component
public interface UpmsRoleMapper {
    /**
     * 根据主键删除数据
     *
     * @param roleId Integer
     * @return int
     */
    int deleteByPrimaryKey(Long roleId);

    /**
     * 插入数据库记录（建议使用）
     *
     * @param record UpmsRole
     * @return int
     */
    int insertSelective(UpmsRole record);

    /**
     * 根据主键id查询
     *
     * @param roleId Integer
     * @return UpmsRole
     */
    UpmsRole selectByPrimaryKey(Long roleId);

    /**
     * 修改数据(推荐使用)
     *
     * @param record UpmsRole
     * @return int
     */
    int updateByPrimaryKeySelective(UpmsRole record);

    /**
     * 查询组织机构列表
     *
     * @param javabean2Map
     * @return
     */
    List<UpmsRole> selectListByMap(Map<String, Object> javabean2Map);

    /**
     * 根据关联组织机构表查询角色列表
     *
     * @param toMap
     * @return
     */
    List<UpmsRole> selectRoleListJoinRoleOrg(Map<String, Object> toMap);

    /**
     * 根据关联菜单表查询角色列表
     *
     * @param toMap
     * @return
     */
    List<UpmsRole> selectRoleListJoinRoleMenu(Map<String, Object> toMap);

    /**
     * 根据关联成员表查询角色列表
     *
     * @param toMap
     * @return
     */
    List<UpmsRole> selectRoleListJoinRoleMember(Map<String, Object> toMap);
}